home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / procssng / ccs / ccs-11tl.lha / lbl / xview / genial / ui / trace_ui.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-14  |  13.6 KB  |  639 lines

  1. /*
  2.  * trace_ui.c - User interface object initialization functions.
  3.  * This file was generated by `gxv' from `trace.G'.
  4.  * DO NOT EDIT BY HAND.
  5.  */
  6.  
  7. #include <stdio.h>
  8. #include <sys/param.h>
  9. #include <sys/types.h>
  10. #include <xview/xview.h>
  11. #include <xview/canvas.h>
  12. #include <xview/panel.h>
  13. #include <xview/scrollbar.h>
  14. #include <xview/svrimage.h>
  15. #include <xview/termsw.h>
  16. #include <xview/text.h>
  17. #include <xview/tty.h>
  18. #include <xview/xv_xrect.h>
  19. #include "trace_ui.h"
  20.  
  21. /*
  22.  * Initialize an instance of object `tcntrl'.
  23.  */
  24. trace_tcntrl_objects *
  25. trace_tcntrl_objects_initialize(ip, owner)
  26.     trace_tcntrl_objects    *ip;
  27.     Xv_opaque    owner;
  28. {
  29.     if (!ip && !(ip = (trace_tcntrl_objects *) calloc(1, sizeof (trace_tcntrl_objects))))
  30.         return (trace_tcntrl_objects *) NULL;
  31.     if (!ip->tcntrl)
  32.         ip->tcntrl = trace_tcntrl_tcntrl_create(ip, owner);
  33.     if (!ip->controls1)
  34.         ip->controls1 = trace_tcntrl_controls1_create(ip, ip->tcntrl);
  35.     if (!ip->traceno)
  36.         ip->traceno = trace_tcntrl_traceno_create(ip, ip->controls1);
  37.     if (!ip->radius)
  38.         ip->radius = trace_tcntrl_radius_create(ip, ip->controls1);
  39.     if (!ip->scale)
  40.         ip->scale = trace_tcntrl_scale_create(ip, ip->controls1);
  41.     if (!ip->min)
  42.         ip->min = trace_tcntrl_min_create(ip, ip->controls1);
  43.     if (!ip->max)
  44.         ip->max = trace_tcntrl_max_create(ip, ip->controls1);
  45.     return ip;
  46. }
  47.  
  48. /*
  49.  * Create object `tcntrl' in the specified instance.
  50.  */
  51. Xv_opaque
  52. trace_tcntrl_tcntrl_create(ip, owner)
  53.     trace_tcntrl_objects    *ip;
  54.     Xv_opaque    owner;
  55. {
  56.     Xv_opaque    obj;
  57.     
  58.     obj = xv_create(owner, FRAME_CMD,
  59.         XV_KEY_DATA, INSTANCE, ip,
  60.         XV_WIDTH, 264,
  61.         XV_HEIGHT, 131,
  62.         XV_LABEL, "Trace Control",
  63.         XV_SHOW, FALSE,
  64.         FRAME_SHOW_FOOTER, FALSE,
  65.         FRAME_SHOW_RESIZE_CORNER, FALSE,
  66.         FRAME_CMD_PUSHPIN_IN, TRUE,
  67.         NULL);
  68.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  69.     return obj;
  70. }
  71.  
  72. /*
  73.  * Create object `controls1' in the specified instance.
  74.  */
  75. Xv_opaque
  76. trace_tcntrl_controls1_create(ip, owner)
  77.     trace_tcntrl_objects    *ip;
  78.     Xv_opaque    owner;
  79. {
  80.     Xv_opaque    obj;
  81.     
  82.     obj = xv_create(owner, PANEL,
  83.         XV_KEY_DATA, INSTANCE, ip,
  84.         XV_X, 0,
  85.         XV_Y, 0,
  86.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  87.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  88.         WIN_BORDER, TRUE,
  89.         NULL);
  90.     return obj;
  91. }
  92.  
  93. /*
  94.  * Create object `traceno' in the specified instance.
  95.  */
  96. Xv_opaque
  97. trace_tcntrl_traceno_create(ip, owner)
  98.     trace_tcntrl_objects    *ip;
  99.     Xv_opaque    owner;
  100. {
  101.     extern Panel_setting    traceno_proc();
  102.     Xv_opaque    obj;
  103.     
  104.     obj = xv_create(owner, PANEL_NUMERIC_TEXT,
  105.         XV_KEY_DATA, INSTANCE, ip,
  106.         XV_X, 16,
  107.         XV_Y, 20,
  108.         PANEL_VALUE_DISPLAY_LENGTH, 2,
  109.         PANEL_VALUE_STORED_LENGTH, 4,
  110.         PANEL_LABEL_STRING, "Trace:",
  111.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  112.         PANEL_MAX_VALUE, 100,
  113.         PANEL_MIN_VALUE, 1,
  114.         PANEL_VALUE, 0,
  115.         PANEL_READ_ONLY, FALSE,
  116.         PANEL_NOTIFY_PROC, traceno_proc,
  117.         NULL);
  118.     return obj;
  119. }
  120.  
  121. /*
  122.  * Create object `radius' in the specified instance.
  123.  */
  124. Xv_opaque
  125. trace_tcntrl_radius_create(ip, owner)
  126.     trace_tcntrl_objects    *ip;
  127.     Xv_opaque    owner;
  128. {
  129.     extern Panel_setting    rad_proc();
  130.     Xv_opaque    obj;
  131.     
  132.     obj = xv_create(owner, PANEL_NUMERIC_TEXT,
  133.         XV_KEY_DATA, INSTANCE, ip,
  134.         XV_X, 16,
  135.         XV_Y, 45,
  136.         PANEL_VALUE_DISPLAY_LENGTH, 1,
  137.         PANEL_VALUE_STORED_LENGTH, 1,
  138.         PANEL_LABEL_STRING, "Averaging:",
  139.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  140.         PANEL_MAX_VALUE, 10,
  141.         PANEL_MIN_VALUE, 0,
  142.         PANEL_VALUE, 0,
  143.         PANEL_READ_ONLY, FALSE,
  144.         PANEL_NOTIFY_PROC, rad_proc,
  145.         NULL);
  146.     return obj;
  147. }
  148.  
  149. /*
  150.  * Create object `scale' in the specified instance.
  151.  */
  152. Xv_opaque
  153. trace_tcntrl_scale_create(ip, owner)
  154.     trace_tcntrl_objects    *ip;
  155.     Xv_opaque    owner;
  156. {
  157.     extern void        scale_proc();
  158.     Xv_opaque    obj;
  159.     
  160.     obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
  161.         XV_KEY_DATA, INSTANCE, ip,
  162.         XV_X, 16,
  163.         XV_Y, 70,
  164.         PANEL_CHOICE_NROWS, 1,
  165.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  166.         PANEL_LABEL_STRING, "Scaling:",
  167.         PANEL_NOTIFY_PROC, scale_proc,
  168.         PANEL_CHOICE_STRINGS,
  169.             "Image Scaled",
  170.             "Trace Scaled",
  171.             "Manual",
  172.             NULL,
  173.         NULL);
  174.     return obj;
  175. }
  176.  
  177. /*
  178.  * Create object `min' in the specified instance.
  179.  */
  180. Xv_opaque
  181. trace_tcntrl_min_create(ip, owner)
  182.     trace_tcntrl_objects    *ip;
  183.     Xv_opaque    owner;
  184. {
  185.     extern Panel_setting    min_proc();
  186.     Xv_opaque    obj;
  187.     
  188.     obj = xv_create(owner, PANEL_NUMERIC_TEXT,
  189.         XV_KEY_DATA, INSTANCE, ip,
  190.         XV_X, 16,
  191.         XV_Y, 103,
  192.         PANEL_VALUE_DISPLAY_LENGTH, 4,
  193.         PANEL_VALUE_STORED_LENGTH, 4,
  194.         PANEL_LABEL_STRING, "Min:",
  195.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  196.         PANEL_MAX_VALUE, 255,
  197.         PANEL_MIN_VALUE, 0,
  198.         PANEL_VALUE, 0,
  199.         PANEL_READ_ONLY, FALSE,
  200.         PANEL_NOTIFY_PROC, min_proc,
  201.         NULL);
  202.     return obj;
  203. }
  204.  
  205. /*
  206.  * Create object `max' in the specified instance.
  207.  */
  208. Xv_opaque
  209. trace_tcntrl_max_create(ip, owner)
  210.     trace_tcntrl_objects    *ip;
  211.     Xv_opaque    owner;
  212. {
  213.     extern Panel_setting    max_proc();
  214.     Xv_opaque    obj;
  215.     
  216.     obj = xv_create(owner, PANEL_NUMERIC_TEXT,
  217.         XV_KEY_DATA, INSTANCE, ip,
  218.         XV_X, 144,
  219.         XV_Y, 103,
  220.         PANEL_VALUE_DISPLAY_LENGTH, 4,
  221.         PANEL_VALUE_STORED_LENGTH, 8,
  222.         PANEL_LABEL_STRING, "Max:",
  223.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  224.         PANEL_MAX_VALUE, 100,
  225.         PANEL_MIN_VALUE, 0,
  226.         PANEL_VALUE, 0,
  227.         PANEL_READ_ONLY, FALSE,
  228.         PANEL_NOTIFY_PROC, max_proc,
  229.         NULL);
  230.     return obj;
  231. }
  232.  
  233. /*
  234.  * Initialize an instance of object `trwin'.
  235.  */
  236. trace_trwin_objects *
  237. trace_trwin_objects_initialize(ip, owner)
  238.     trace_trwin_objects    *ip;
  239.     Xv_opaque    owner;
  240. {
  241.     if (!ip && !(ip = (trace_trwin_objects *) calloc(1, sizeof (trace_trwin_objects))))
  242.         return (trace_trwin_objects *) NULL;
  243.     if (!ip->trwin)
  244.         ip->trwin = trace_trwin_trwin_create(ip, owner);
  245.     if (!ip->controls2)
  246.         ip->controls2 = trace_trwin_controls2_create(ip, ip->trwin);
  247.     if (!ip->mes1)
  248.         ip->mes1 = trace_trwin_mes1_create(ip, ip->controls2);
  249.     if (!ip->tr_refresh)
  250.         ip->tr_refresh = trace_trwin_tr_refresh_create(ip, ip->controls2);
  251.     if (!ip->mes3)
  252.         ip->mes3 = trace_trwin_mes3_create(ip, ip->controls2);
  253.     if (!ip->options)
  254.         ip->options = trace_trwin_options_create(ip, ip->controls2);
  255.     if (!ip->mes4)
  256.         ip->mes4 = trace_trwin_mes4_create(ip, ip->controls2);
  257.     if (!ip->trcanv)
  258.         ip->trcanv = trace_trwin_trcanv_create(ip, ip->trwin);
  259.     if (!ip->controls3)
  260.         ip->controls3 = trace_trwin_controls3_create(ip, ip->trwin);
  261.     if (!ip->integrate)
  262.         ip->integrate = trace_trwin_integrate_create(ip, ip->controls3);
  263.     if (!ip->intg_eval)
  264.         ip->intg_eval = trace_trwin_intg_eval_create(ip, ip->controls3);
  265.     return ip;
  266. }
  267.  
  268. /*
  269.  * Create object `trwin' in the specified instance.
  270.  */
  271. Xv_opaque
  272. trace_trwin_trwin_create(ip, owner)
  273.     trace_trwin_objects    *ip;
  274.     Xv_opaque    owner;
  275. {
  276.     Xv_opaque    obj;
  277.     
  278.     obj = xv_create(owner, FRAME_CMD,
  279.         XV_KEY_DATA, INSTANCE, ip,
  280.         XV_WIDTH, 268,
  281.         XV_HEIGHT, 384,
  282.         XV_LABEL, "GENIAL trace",
  283.         XV_SHOW, FALSE,
  284.         FRAME_SHOW_FOOTER, FALSE,
  285.         FRAME_SHOW_RESIZE_CORNER, FALSE,
  286.         FRAME_CMD_PUSHPIN_IN, TRUE,
  287.         NULL);
  288.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  289.     return obj;
  290. }
  291.  
  292. /*
  293.  * Create object `controls2' in the specified instance.
  294.  */
  295. Xv_opaque
  296. trace_trwin_controls2_create(ip, owner)
  297.     trace_trwin_objects    *ip;
  298.     Xv_opaque    owner;
  299. {
  300.     Xv_opaque    obj;
  301.     
  302.     obj = xv_create(owner, PANEL,
  303.         XV_KEY_DATA, INSTANCE, ip,
  304.         XV_X, 0,
  305.         XV_Y, 0,
  306.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  307.         XV_HEIGHT, 67,
  308.         WIN_BORDER, FALSE,
  309.         NULL);
  310.     return obj;
  311. }
  312.  
  313. /*
  314.  * Create object `mes1' in the specified instance.
  315.  */
  316. Xv_opaque
  317. trace_trwin_mes1_create(ip, owner)
  318.     trace_trwin_objects    *ip;
  319.     Xv_opaque    owner;
  320. {
  321.     Xv_opaque    obj;
  322.     
  323.     obj = xv_create(owner, PANEL_MESSAGE,
  324.         XV_KEY_DATA, INSTANCE, ip,
  325.         XV_X, 8,
  326.         XV_Y, 8,
  327.         PANEL_LABEL_STRING, "Value: 11111",
  328.         PANEL_LABEL_BOLD, TRUE,
  329.         NULL);
  330.     return obj;
  331. }
  332.  
  333. /*
  334.  * Create object `tr_refresh' in the specified instance.
  335.  */
  336. Xv_opaque
  337. trace_trwin_tr_refresh_create(ip, owner)
  338.     trace_trwin_objects    *ip;
  339.     Xv_opaque    owner;
  340. {
  341.     extern void        trace_refresh_proc();
  342.     Xv_opaque    obj;
  343.     
  344.     obj = xv_create(owner, PANEL_BUTTON,
  345.         XV_KEY_DATA, INSTANCE, ip,
  346.         XV_X, 160,
  347.         XV_Y, 8,
  348.         PANEL_LABEL_STRING, "Refresh",
  349.         PANEL_NOTIFY_PROC, trace_refresh_proc,
  350.         NULL);
  351.     return obj;
  352. }
  353.  
  354. /*
  355.  * Create object `mes3' in the specified instance.
  356.  */
  357. Xv_opaque
  358. trace_trwin_mes3_create(ip, owner)
  359.     trace_trwin_objects    *ip;
  360.     Xv_opaque    owner;
  361. {
  362.     Xv_opaque    obj;
  363.     
  364.     obj = xv_create(owner, PANEL_MESSAGE,
  365.         XV_KEY_DATA, INSTANCE, ip,
  366.         XV_X, 8,
  367.         XV_Y, 24,
  368.         PANEL_LABEL_STRING, "Sum: 111111",
  369.         PANEL_LABEL_BOLD, TRUE,
  370.         NULL);
  371.     return obj;
  372. }
  373.  
  374. /*
  375.  * Create object `options' in the specified instance.
  376.  */
  377. Xv_opaque
  378. trace_trwin_options_create(ip, owner)
  379.     trace_trwin_objects    *ip;
  380.     Xv_opaque    owner;
  381. {
  382.     extern void        trace_opt_proc();
  383.     Xv_opaque    obj;
  384.     
  385.     obj = xv_create(owner, PANEL_BUTTON,
  386.         XV_KEY_DATA, INSTANCE, ip,
  387.         XV_X, 160,
  388.         XV_Y, 32,
  389.         PANEL_LABEL_STRING, "Options...",
  390.         PANEL_NOTIFY_PROC, trace_opt_proc,
  391.         NULL);
  392.     return obj;
  393. }
  394.  
  395. /*
  396.  * Create object `mes4' in the specified instance.
  397.  */
  398. Xv_opaque
  399. trace_trwin_mes4_create(ip, owner)
  400.     trace_trwin_objects    *ip;
  401.     Xv_opaque    owner;
  402. {
  403.     Xv_opaque    obj;
  404.     
  405.     obj = xv_create(owner, PANEL_MESSAGE,
  406.         XV_KEY_DATA, INSTANCE, ip,
  407.         XV_X, 8,
  408.         XV_Y, 40,
  409.         PANEL_LABEL_STRING, "Average: 11111",
  410.         PANEL_LABEL_BOLD, TRUE,
  411.         NULL);
  412.     return obj;
  413. }
  414.  
  415. /*
  416.  * Create object `trcanv' in the specified instance.
  417.  */
  418. Xv_opaque
  419. trace_trwin_trcanv_create(ip, owner)
  420.     trace_trwin_objects    *ip;
  421.     Xv_opaque    owner;
  422. {
  423.     extern Notify_value    trcanv_event_proc();
  424.     extern void    trcanv_repaint_proc();
  425.     Xv_opaque    obj;
  426.     
  427.     obj = xv_create(owner, CANVAS,
  428.         XV_KEY_DATA, INSTANCE, ip,
  429.         XV_X, 0,
  430.         XV_Y, (int)xv_get(ip->controls2, XV_Y) +
  431.               (int)xv_get(ip->controls2, XV_HEIGHT),
  432.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  433.         XV_HEIGHT, 275,
  434.         CANVAS_REPAINT_PROC, trcanv_repaint_proc,
  435.         CANVAS_X_PAINT_WINDOW, TRUE,
  436.         NULL);
  437.     xv_set(canvas_paint_window(obj), WIN_CONSUME_EVENTS,
  438.         WIN_MOUSE_BUTTONS,
  439.         LOC_MOVE,
  440.         LOC_DRAG,
  441.         LOC_WINENTER,
  442.         LOC_WINEXIT,
  443.         WIN_ASCII_EVENTS,
  444.         WIN_LEFT_KEYS,
  445.         WIN_RIGHT_KEYS,
  446.         WIN_TOP_KEYS,
  447.         NULL, NULL);
  448.     notify_interpose_event_func(canvas_paint_window(obj),
  449.         (Notify_func) trcanv_event_proc, NOTIFY_SAFE);
  450.     /*
  451.      * This line is here for backwards compatibility. It will be
  452.      * removed for the next release.
  453.      */
  454.     xv_set(canvas_paint_window(obj), XV_KEY_DATA, INSTANCE, ip, NULL);
  455.     return obj;
  456. }
  457.  
  458. /*
  459.  * Create object `controls3' in the specified instance.
  460.  */
  461. Xv_opaque
  462. trace_trwin_controls3_create(ip, owner)
  463.     trace_trwin_objects    *ip;
  464.     Xv_opaque    owner;
  465. {
  466.     Xv_opaque    obj;
  467.     
  468.     obj = xv_create(owner, PANEL,
  469.         XV_KEY_DATA, INSTANCE, ip,
  470.         XV_X, 0,
  471.         XV_Y, (int)xv_get(ip->trcanv, XV_Y) +
  472.               (int)xv_get(ip->trcanv, XV_HEIGHT),
  473.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  474.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  475.         WIN_BORDER, FALSE,
  476.         NULL);
  477.     return obj;
  478. }
  479.  
  480. /*
  481.  * Create object `integrate' in the specified instance.
  482.  */
  483. Xv_opaque
  484. trace_trwin_integrate_create(ip, owner)
  485.     trace_trwin_objects    *ip;
  486.     Xv_opaque    owner;
  487. {
  488.     Xv_opaque    obj;
  489.     
  490.     obj = xv_create(owner, PANEL_TOGGLE, PANEL_FEEDBACK, PANEL_MARKED,
  491.         XV_KEY_DATA, INSTANCE, ip,
  492.         XV_X, 8,
  493.         XV_Y, 8,
  494.         PANEL_CHOICE_NROWS, 1,
  495.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  496.         PANEL_LABEL_STRING, "Select Integration region:",
  497.         PANEL_CHOICE_STRING, 0, "",
  498.         PANEL_VALUE, 0,
  499.         NULL);
  500.     return obj;
  501. }
  502.  
  503. /*
  504.  * Create object `intg_eval' in the specified instance.
  505.  */
  506. Xv_opaque
  507. trace_trwin_intg_eval_create(ip, owner)
  508.     trace_trwin_objects    *ip;
  509.     Xv_opaque    owner;
  510. {
  511.     extern void        integrate_eval_proc();
  512.     Xv_opaque    obj;
  513.     
  514.     obj = xv_create(owner, PANEL_BUTTON,
  515.         XV_KEY_DATA, INSTANCE, ip,
  516.         XV_X, 216,
  517.         XV_Y, 8,
  518.         PANEL_LABEL_STRING, "eval",
  519.         PANEL_NOTIFY_PROC, integrate_eval_proc,
  520.         NULL);
  521.     return obj;
  522. }
  523.  
  524. /*
  525.  * Initialize an instance of object `intgwin'.
  526.  */
  527. trace_intgwin_objects *
  528. trace_intgwin_objects_initialize(ip, owner)
  529.     trace_intgwin_objects    *ip;
  530.     Xv_opaque    owner;
  531. {
  532.     if (!ip && !(ip = (trace_intgwin_objects *) calloc(1, sizeof (trace_intgwin_objects))))
  533.         return (trace_intgwin_objects *) NULL;
  534.     if (!ip->intgwin)
  535.         ip->intgwin = trace_intgwin_intgwin_create(ip, owner);
  536.     if (!ip->controls4)
  537.         ip->controls4 = trace_intgwin_controls4_create(ip, ip->intgwin);
  538.     if (!ip->message1)
  539.         ip->message1 = trace_intgwin_message1_create(ip, ip->controls4);
  540.     if (!ip->intgcanv)
  541.         ip->intgcanv = trace_intgwin_intgcanv_create(ip, ip->intgwin);
  542.     return ip;
  543. }
  544.  
  545. /*
  546.  * Create object `intgwin' in the specified instance.
  547.  */
  548. Xv_opaque
  549. trace_intgwin_intgwin_create(ip, owner)
  550.     trace_intgwin_objects    *ip;
  551.     Xv_opaque    owner;
  552. {
  553.     Xv_opaque    obj;
  554.     
  555.     obj = xv_create(owner, FRAME_CMD,
  556.         XV_KEY_DATA, INSTANCE, ip,
  557.         XV_WIDTH, 212,
  558.         XV_HEIGHT, 295,
  559.         XV_LABEL, "Integrate",
  560.         XV_SHOW, FALSE,
  561.         FRAME_SHOW_FOOTER, FALSE,
  562.         FRAME_SHOW_RESIZE_CORNER, FALSE,
  563.         FRAME_CMD_PUSHPIN_IN, FALSE,
  564.         NULL);
  565.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  566.     return obj;
  567. }
  568.  
  569. /*
  570.  * Create object `controls4' in the specified instance.
  571.  */
  572. Xv_opaque
  573. trace_intgwin_controls4_create(ip, owner)
  574.     trace_intgwin_objects    *ip;
  575.     Xv_opaque    owner;
  576. {
  577.     Xv_opaque    obj;
  578.     
  579.     obj = xv_create(owner, PANEL,
  580.         XV_KEY_DATA, INSTANCE, ip,
  581.         XV_X, 0,
  582.         XV_Y, 0,
  583.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  584.         XV_HEIGHT, 32,
  585.         WIN_BORDER, FALSE,
  586.         NULL);
  587.     return obj;
  588. }
  589.  
  590. /*
  591.  * Create object `message1' in the specified instance.
  592.  */
  593. Xv_opaque
  594. trace_intgwin_message1_create(ip, owner)
  595.     trace_intgwin_objects    *ip;
  596.     Xv_opaque    owner;
  597. {
  598.     Xv_opaque    obj;
  599.     
  600.     obj = xv_create(owner, PANEL_MESSAGE,
  601.         XV_KEY_DATA, INSTANCE, ip,
  602.         XV_X, 8,
  603.         XV_Y, 8,
  604.         PANEL_LABEL_STRING, "Integral Total: 9999999999",
  605.         PANEL_LABEL_BOLD, TRUE,
  606.         NULL);
  607.     return obj;
  608. }
  609.  
  610. /*
  611.  * Create object `intgcanv' in the specified instance.
  612.  */
  613. Xv_opaque
  614. trace_intgwin_intgcanv_create(ip, owner)
  615.     trace_intgwin_objects    *ip;
  616.     Xv_opaque    owner;
  617. {
  618.     extern void    icanv_repaint_proc();
  619.     Xv_opaque    obj;
  620.     
  621.     obj = xv_create(owner, CANVAS,
  622.         XV_KEY_DATA, INSTANCE, ip,
  623.         XV_X, 0,
  624.         XV_Y, (int)xv_get(ip->controls4, XV_Y) +
  625.               (int)xv_get(ip->controls4, XV_HEIGHT),
  626.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  627.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  628.         CANVAS_REPAINT_PROC, icanv_repaint_proc,
  629.         CANVAS_X_PAINT_WINDOW, TRUE,
  630.         NULL);
  631.     /*
  632.      * This line is here for backwards compatibility. It will be
  633.      * removed for the next release.
  634.      */
  635.     xv_set(canvas_paint_window(obj), XV_KEY_DATA, INSTANCE, ip, NULL);
  636.     return obj;
  637. }
  638.  
  639.